<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts: esp8266/uart.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">ESP8266ILI9341DisplayProject</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_cc2d49507704e901eabd8a82be491fc5.html">esp8266</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">uart.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Uart driver for ESP8266.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="user__config_8h_source.html">user_config.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="uart_8h_source.html">uart.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="esp8266_2uart__register_8h_source.html">uart_register.h</a>&quot;</code><br />
</div>
<p><a href="uart_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a14061d90f6727665218418b15943af7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a14061d90f6727665218418b15943af7f">UARTS</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a14061d90f6727665218418b15943af7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae08356fea716912edfef1013171b24ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#ae08356fea716912edfef1013171b24ba">uart_rx_enable</a> (uint8 uart_no)</td></tr>
<tr class="memdesc:ae08356fea716912edfef1013171b24ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable receive interrupts for a uart.  <a href="#ae08356fea716912edfef1013171b24ba">More...</a><br /></td></tr>
<tr class="separator:ae08356fea716912edfef1013171b24ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c32ce5693fc8c1a40244b5cc82e796e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a4c32ce5693fc8c1a40244b5cc82e796e">uart_rx_disable</a> (uint8 uart_no)</td></tr>
<tr class="memdesc:a4c32ce5693fc8c1a40244b5cc82e796e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable receive interrupts for a uart.  <a href="#a4c32ce5693fc8c1a40244b5cc82e796e">More...</a><br /></td></tr>
<tr class="separator:a4c32ce5693fc8c1a40244b5cc82e796e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fee6d0362cbec0ae882acb55d3a825f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a9fee6d0362cbec0ae882acb55d3a825f">uart_tx_enable</a> (<a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> uart_no)</td></tr>
<tr class="memdesc:a9fee6d0362cbec0ae882acb55d3a825f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable transmit interrupts for a uart.  <a href="#a9fee6d0362cbec0ae882acb55d3a825f">More...</a><br /></td></tr>
<tr class="separator:a9fee6d0362cbec0ae882acb55d3a825f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87198ab19fb4f97a978baf08b478d150"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a87198ab19fb4f97a978baf08b478d150">uart_tx_disable</a> (<a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> uart_no)</td></tr>
<tr class="memdesc:a87198ab19fb4f97a978baf08b478d150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable transmit interrupts for a uart.  <a href="#a87198ab19fb4f97a978baf08b478d150">More...</a><br /></td></tr>
<tr class="separator:a87198ab19fb4f97a978baf08b478d150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69f8feef88b9921367f37e8db445eeaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a69f8feef88b9921367f37e8db445eeaf">tx_fifo_flush</a> (int uart_no)</td></tr>
<tr class="memdesc:a69f8feef88b9921367f37e8db445eeaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush transmit fifo for a uart.  <a href="#a69f8feef88b9921367f37e8db445eeaf">More...</a><br /></td></tr>
<tr class="separator:a69f8feef88b9921367f37e8db445eeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9147fc5ffaf0a602cc60a8addb8a38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a6b9147fc5ffaf0a602cc60a8addb8a38">rx_fifo_flush</a> (int uart_no)</td></tr>
<tr class="memdesc:a6b9147fc5ffaf0a602cc60a8addb8a38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush receive fifo for a uart.  <a href="#a6b9147fc5ffaf0a602cc60a8addb8a38">More...</a><br /></td></tr>
<tr class="separator:a6b9147fc5ffaf0a602cc60a8addb8a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f8397ebf08ae984ed48144d0287a048"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a6f8397ebf08ae984ed48144d0287a048">tx_fifo_used</a> (int uart_no)</td></tr>
<tr class="memdesc:a6f8397ebf08ae984ed48144d0287a048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes used in transmit fifo.  <a href="#a6f8397ebf08ae984ed48144d0287a048">More...</a><br /></td></tr>
<tr class="separator:a6f8397ebf08ae984ed48144d0287a048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c0f172370540e0d1840c415c2c7b661"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a3c0f172370540e0d1840c415c2c7b661">tx_fifo_free</a> (int uart_no)</td></tr>
<tr class="memdesc:a3c0f172370540e0d1840c415c2c7b661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes free in transmit fifo.  <a href="#a3c0f172370540e0d1840c415c2c7b661">More...</a><br /></td></tr>
<tr class="separator:a3c0f172370540e0d1840c415c2c7b661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50e81b3a1433d1947bdff1b9bdf425d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a50e81b3a1433d1947bdff1b9bdf425d3">tx_fifo_empty</a> (int uart_no)</td></tr>
<tr class="memdesc:a50e81b3a1433d1947bdff1b9bdf425d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if the transmit fifo is empty.  <a href="#a50e81b3a1433d1947bdff1b9bdf425d3">More...</a><br /></td></tr>
<tr class="separator:a50e81b3a1433d1947bdff1b9bdf425d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09c378ce1610cb5e63469a4ee6813de2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a09c378ce1610cb5e63469a4ee6813de2">rx_fifo_used</a> (int uart_no)</td></tr>
<tr class="memdesc:a09c378ce1610cb5e63469a4ee6813de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes used in receive fifo.  <a href="#a09c378ce1610cb5e63469a4ee6813de2">More...</a><br /></td></tr>
<tr class="separator:a09c378ce1610cb5e63469a4ee6813de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa59d5d55b7cd6551d97ef6af22949c82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#aa59d5d55b7cd6551d97ef6af22949c82">rx_fifo_free</a> (int uart_no)</td></tr>
<tr class="memdesc:aa59d5d55b7cd6551d97ef6af22949c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes free in receive fifo.  <a href="#aa59d5d55b7cd6551d97ef6af22949c82">More...</a><br /></td></tr>
<tr class="separator:aa59d5d55b7cd6551d97ef6af22949c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ffd1f20ba2ca3ef0894473091b25012"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a3ffd1f20ba2ca3ef0894473091b25012">rx_fifo_empty</a> (int uart_no)</td></tr>
<tr class="memdesc:a3ffd1f20ba2ca3ef0894473091b25012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if the receive fifo is empty.  <a href="#a3ffd1f20ba2ca3ef0894473091b25012">More...</a><br /></td></tr>
<tr class="separator:a3ffd1f20ba2ca3ef0894473091b25012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0c0e0aa888920f223867fa541b068ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#ae0c0e0aa888920f223867fa541b068ac">tx_fifo_putb</a> (int uart_no, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> c)</td></tr>
<tr class="memdesc:ae0c0e0aa888920f223867fa541b068ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a byte to the trasmit fifo We assume that <a class="el" href="uart_8c.html#a3c0f172370540e0d1840c415c2c7b661" title="Get the number of bytes free in transmit fifo. ">tx_fifo_free()</a> was called!  <a href="#ae0c0e0aa888920f223867fa541b068ac">More...</a><br /></td></tr>
<tr class="separator:ae0c0e0aa888920f223867fa541b068ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41c7b573c10fdd3aadc72669f96c2e71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a41c7b573c10fdd3aadc72669f96c2e71">rx_fifo_getb</a> (int uart_no)</td></tr>
<tr class="memdesc:a41c7b573c10fdd3aadc72669f96c2e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a byte from the receive fifo We assume that <a class="el" href="uart_8c.html#a09c378ce1610cb5e63469a4ee6813de2" title="Get the number of bytes used in receive fifo. ">rx_fifo_used()</a> was called!  <a href="#a41c7b573c10fdd3aadc72669f96c2e71">More...</a><br /></td></tr>
<tr class="separator:a41c7b573c10fdd3aadc72669f96c2e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6658637d750ec2e2366ac3881dbd9f6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a6658637d750ec2e2366ac3881dbd9f6e">tx_fifo_write</a> (int uart_no, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *buf, int size)</td></tr>
<tr class="memdesc:a6658637d750ec2e2366ac3881dbd9f6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a data buffer to the transmit fifo Note: This function does not wait/block util there is enough free space to meet the request. So you must check that the return value matches the size.  <a href="#a6658637d750ec2e2366ac3881dbd9f6e">More...</a><br /></td></tr>
<tr class="separator:a6658637d750ec2e2366ac3881dbd9f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee039ccb34468de12203a7027fee1ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a5ee039ccb34468de12203a7027fee1ce">rx_fifo_read</a> (int uart_no, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *buf, int size)</td></tr>
<tr class="memdesc:a5ee039ccb34468de12203a7027fee1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a data buffer from the receive fifo Note: This function does not wait/block util there is enough free space to meet the request. So you must check that the return value matches the size.  <a href="#a5ee039ccb34468de12203a7027fee1ce">More...</a><br /></td></tr>
<tr class="separator:a5ee039ccb34468de12203a7027fee1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d37288e478d3aefe796f405d90e2c06"><td class="memItemLeft" align="right" valign="top">LOCAL <a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a5d37288e478d3aefe796f405d90e2c06">uart_putb</a> (uint8 uart_no, uint8 data)</td></tr>
<tr class="memdesc:a5d37288e478d3aefe796f405d90e2c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Polled Blocking I/O functions that poll.  <a href="#a5d37288e478d3aefe796f405d90e2c06">More...</a><br /></td></tr>
<tr class="separator:a5d37288e478d3aefe796f405d90e2c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a385bdf5aba0beedc8862cb7afff7fee7"><td class="memItemLeft" align="right" valign="top">LOCAL <a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a385bdf5aba0beedc8862cb7afff7fee7">uart_getb</a> (int uart_no)</td></tr>
<tr class="memdesc:a385bdf5aba0beedc8862cb7afff7fee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a byte from a uart Note: This function waits/blocks util the read can happen.  <a href="#a385bdf5aba0beedc8862cb7afff7fee7">More...</a><br /></td></tr>
<tr class="separator:a385bdf5aba0beedc8862cb7afff7fee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad52b616aa1f07c5a59a5ddb6be602dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#aad52b616aa1f07c5a59a5ddb6be602dc">uart_putc</a> (uint8 uart_no, char c)</td></tr>
<tr class="memdesc:aad52b616aa1f07c5a59a5ddb6be602dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a byte from a uart with NL to CR/NL conversion Note: This function waits/blocks util the write can happen.  <a href="#aad52b616aa1f07c5a59a5ddb6be602dc">More...</a><br /></td></tr>
<tr class="separator:aad52b616aa1f07c5a59a5ddb6be602dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf42ba60e6a57087df07a521240569c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#adf42ba60e6a57087df07a521240569c7">uart_getc</a> (int uart_no)</td></tr>
<tr class="memdesc:adf42ba60e6a57087df07a521240569c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a byte from a uart with NL to CR/NL conversion Note: This function waits/blocks util the read can happen.  <a href="#adf42ba60e6a57087df07a521240569c7">More...</a><br /></td></tr>
<tr class="separator:adf42ba60e6a57087df07a521240569c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5837c0512e852837f615c22769355c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#ad5837c0512e852837f615c22769355c9">uart0_putc</a> (uint8 c)</td></tr>
<tr class="memdesc:ad5837c0512e852837f615c22769355c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a byte to uart0 with NL to CR/NL conversion Note: This function waits/blocks util the write can happen.  <a href="#ad5837c0512e852837f615c22769355c9">More...</a><br /></td></tr>
<tr class="separator:ad5837c0512e852837f615c22769355c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac64481d3ee365de4479ba579b5736a1c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#ac64481d3ee365de4479ba579b5736a1c">uart0_getc</a> ()</td></tr>
<tr class="memdesc:ac64481d3ee365de4479ba579b5736a1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a byte from uart0 with NL to CR/NL conversion Note: This function waits/blocks util the read can happen.  <a href="#ac64481d3ee365de4479ba579b5736a1c">More...</a><br /></td></tr>
<tr class="separator:ac64481d3ee365de4479ba579b5736a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68627c49cc4901c400c82adeea5a6b1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a68627c49cc4901c400c82adeea5a6b1d">uart1_putc</a> (uint8 c)</td></tr>
<tr class="memdesc:a68627c49cc4901c400c82adeea5a6b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a byte to uart1 with NL to CR/NL conversion Note: This function waits/blocks util the write can happen.  <a href="#a68627c49cc4901c400c82adeea5a6b1d">More...</a><br /></td></tr>
<tr class="separator:a68627c49cc4901c400c82adeea5a6b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737b67ce3c8c77f547a29a06dd0b45b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a737b67ce3c8c77f547a29a06dd0b45b1">uart1_getc</a> ()</td></tr>
<tr class="memdesc:a737b67ce3c8c77f547a29a06dd0b45b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a byte from uart1 with NL to CR/NL conversion Note: This function waits/blocks util the read can happen.  <a href="#a737b67ce3c8c77f547a29a06dd0b45b1">More...</a><br /></td></tr>
<tr class="separator:a737b67ce3c8c77f547a29a06dd0b45b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a735a90ff2c030a454e0e08d1cd4d79e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a735a90ff2c030a454e0e08d1cd4d79e9">uart_flush</a> (<a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> uart_no)</td></tr>
<tr class="memdesc:a735a90ff2c030a454e0e08d1cd4d79e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush TX buffer Note: This function waits/blocks util the write happen.  <a href="#a735a90ff2c030a454e0e08d1cd4d79e9">More...</a><br /></td></tr>
<tr class="separator:a735a90ff2c030a454e0e08d1cd4d79e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba60d396ad1ae85a31880b05758e460"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#adba60d396ad1ae85a31880b05758e460">kbhiteol</a> (int uart_no)</td></tr>
<tr class="memdesc:adba60d396ad1ae85a31880b05758e460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has an EOL been read on stdin ?  <a href="#adba60d396ad1ae85a31880b05758e460">More...</a><br /></td></tr>
<tr class="separator:adba60d396ad1ae85a31880b05758e460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27dccd1929734deb5d318a0cf44bd7c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a27dccd1929734deb5d318a0cf44bd7c5">kbhit</a> (int uart_no)</td></tr>
<tr class="memdesc:a27dccd1929734deb5d318a0cf44bd7c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has ANY character been read in stdin.  <a href="#a27dccd1929734deb5d318a0cf44bd7c5">More...</a><br /></td></tr>
<tr class="separator:a27dccd1929734deb5d318a0cf44bd7c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa018dc93fd77400560f0ab7e8d78f59a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#aa018dc93fd77400560f0ab7e8d78f59a">uart_callback</a> (void *p)</td></tr>
<tr class="memdesc:aa018dc93fd77400560f0ab7e8d78f59a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uart interrupt callback function Process all receive and transmit events here.  <a href="#aa018dc93fd77400560f0ab7e8d78f59a">More...</a><br /></td></tr>
<tr class="separator:aa018dc93fd77400560f0ab7e8d78f59a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83db8ea8db21280f74e2546414fc80f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a83db8ea8db21280f74e2546414fc80f7">UART_SetPrintPort</a> (uint8 uart_no)</td></tr>
<tr class="memdesc:a83db8ea8db21280f74e2546414fc80f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Install debug uart.  <a href="#a83db8ea8db21280f74e2546414fc80f7">More...</a><br /></td></tr>
<tr class="separator:a83db8ea8db21280f74e2546414fc80f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde4532b11b79411c904be3b2672c5e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#afde4532b11b79411c904be3b2672c5e8">uart_config</a> (uint8 uart_no, <a class="el" href="send_8c.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> baud, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> data_bits, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> stop_bits, <a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> parity)</td></tr>
<tr class="memdesc:afde4532b11b79411c904be3b2672c5e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uart configuration, baud rate, data and stop bits, parity.  <a href="#afde4532b11b79411c904be3b2672c5e8">More...</a><br /></td></tr>
<tr class="separator:afde4532b11b79411c904be3b2672c5e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afb95571d79d939651ef59768fde839"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a5afb95571d79d939651ef59768fde839">uart_init</a> (<a class="el" href="uart_8h.html#a9aa1e56362027f49bfbe4378b8c889a4">UartBaudRate</a> uart0_br, <a class="el" href="uart_8h.html#a9aa1e56362027f49bfbe4378b8c889a4">UartBaudRate</a> uart1_br)</td></tr>
<tr class="memdesc:a5afb95571d79d939651ef59768fde839"><td class="mdescLeft">&#160;</td><td class="mdescRight">initialize uart0 and uart1 Defaults: 8 = data bits, 1 = stop bits, no parity  <a href="#a5afb95571d79d939651ef59768fde839">More...</a><br /></td></tr>
<tr class="separator:a5afb95571d79d939651ef59768fde839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2429f7cf15a9fba99f1c3d1d6499299"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#ae2429f7cf15a9fba99f1c3d1d6499299">uart_reattach</a> ()</td></tr>
<tr class="memdesc:ae2429f7cf15a9fba99f1c3d1d6499299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reinitialize uart0 and uart1 calls <a class="el" href="uart_8c.html#a5afb95571d79d939651ef59768fde839" title="initialize uart0 and uart1 Defaults: 8 = data bits, 1 = stop bits, no parity ">uart_init()</a>  <a href="#ae2429f7cf15a9fba99f1c3d1d6499299">More...</a><br /></td></tr>
<tr class="separator:ae2429f7cf15a9fba99f1c3d1d6499299"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a08d467da958b2c20aaa794953255d152"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uart_8c.html#a08d467da958b2c20aaa794953255d152">uart_debug_port</a> = 0</td></tr>
<tr class="separator:a08d467da958b2c20aaa794953255d152"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Uart driver for ESP8266. </p>
<p>Uart driver for ESP8266 based on Esprissif documents.</p>
<dl class="section user"><dt>Copyright &copy; 2015 Mike Gore, GPL License</dt><dd></dd></dl>
<dl class="section user"><dt>You are free to use this code under the terms of GPL</dt><dd>please retain a copy of this notice in any code you use it in.</dd></dl>
<p>This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p>
<p>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a href="http://bbs.espressif.com/viewtopic.php?f=21&t=414">http://bbs.espressif.com/viewtopic.php?f=21&amp;t=414</a></dd></dl>
<dl class="section user"><dt>Copyright &copy; 2015 Mike Gore, GPL License</dt><dd></dd></dl>
<dl class="section user"><dt>You are free to use this code under the terms of GPL</dt><dd>please retain a copy of this notice in any code you use it in.</dd></dl>
<p>This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p>
<p>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p>

<p>Definition in file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a14061d90f6727665218418b15943af7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UARTS&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uart_8c_source.html#l00034">34</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a27dccd1929734deb5d318a0cf44bd7c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kbhit </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Has ANY character been read in stdin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00585">585</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="posix__tests_8c_source.html#l00435">testpage()</a>.</p>

</div>
</div>
<a class="anchor" id="adba60d396ad1ae85a31880b05758e460"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kbhiteol </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Has an EOL been read on stdin ? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00572">572</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="user__main_8c_source.html#l00274">user_tasks()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ffd1f20ba2ca3ef0894473091b25012"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int rx_fifo_empty </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test if the receive fifo is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if empty, 0 otherwise </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00182">182</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00304">uart_getb()</a>.</p>

</div>
</div>
<a class="anchor" id="a6b9147fc5ffaf0a602cc60a8addb8a38"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rx_fifo_flush </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flush receive fifo for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00105">105</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa59d5d55b7cd6551d97ef6af22949c82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int rx_fifo_free </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes free in receive fifo. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bytes free </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00168">168</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a41c7b573c10fdd3aadc72669f96c2e71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int rx_fifo_getb </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a byte from the receive fifo We assume that <a class="el" href="uart_8c.html#a09c378ce1610cb5e63469a4ee6813de2" title="Get the number of bytes used in receive fifo. ">rx_fifo_used()</a> was called! </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>c, (or 0 if fill user error) </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00217">217</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00304">uart_getb()</a>.</p>

</div>
</div>
<a class="anchor" id="a5ee039ccb34468de12203a7027fee1ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int rx_fifo_read </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a data buffer from the receive fifo Note: This function does not wait/block util there is enough free space to meet the request. So you must check that the return value matches the size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*buf</td><td>output buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>size of output buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes actually read from the fifo - may not be size! </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00264">264</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a09c378ce1610cb5e63469a4ee6813de2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int rx_fifo_used </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes used in receive fifo. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bytes in use </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00155">155</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00217">rx_fifo_getb()</a>, and <a class="el" href="uart_8c_source.html#l00264">rx_fifo_read()</a>.</p>

</div>
</div>
<a class="anchor" id="a50e81b3a1433d1947bdff1b9bdf425d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int tx_fifo_empty </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test if the transmit fifo is empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if empty, 0 otherwise </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00143">143</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00406">uart_flush()</a>.</p>

</div>
</div>
<a class="anchor" id="a69f8feef88b9921367f37e8db445eeaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tx_fifo_flush </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flush transmit fifo for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00094">94</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a3c0f172370540e0d1840c415c2c7b661"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int tx_fifo_free </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes free in transmit fifo. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bytes free </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00130">130</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00199">tx_fifo_putb()</a>, <a class="el" href="uart_8c_source.html#l00237">tx_fifo_write()</a>, and <a class="el" href="uart_8c_source.html#l00289">uart_putb()</a>.</p>

</div>
</div>
<a class="anchor" id="ae0c0e0aa888920f223867fa541b068ac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int tx_fifo_putb </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a byte to the trasmit fifo We assume that <a class="el" href="uart_8c.html#a3c0f172370540e0d1840c415c2c7b661" title="Get the number of bytes free in transmit fifo. ">tx_fifo_free()</a> was called! </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>byte to add </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>c, (or 0 if full user error) </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00199">199</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00289">uart_putb()</a>.</p>

</div>
</div>
<a class="anchor" id="a6f8397ebf08ae984ed48144d0287a048"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int tx_fifo_used </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes used in transmit fifo. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bytes in use </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00118">118</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00406">uart_flush()</a>.</p>

</div>
</div>
<a class="anchor" id="a6658637d750ec2e2366ac3881dbd9f6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int tx_fifo_write </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a data buffer to the transmit fifo Note: This function does not wait/block util there is enough free space to meet the request. So you must check that the return value matches the size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*buf</td><td>output buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>size of input buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes sent </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00237">237</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac64481d3ee365de4479ba579b5736a1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart0_getc </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a byte from uart0 with NL to CR/NL conversion Note: This function waits/blocks util the read can happen. </p>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00369">369</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad5837c0512e852837f615c22769355c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart0_putc </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a byte to uart0 with NL to CR/NL conversion Note: This function waits/blocks util the write can happen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>byte to write </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00358">358</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a737b67ce3c8c77f547a29a06dd0b45b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart1_getc </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a byte from uart1 with NL to CR/NL conversion Note: This function waits/blocks util the read can happen. </p>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00393">393</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a68627c49cc4901c400c82adeea5a6b1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart1_putc </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a byte to uart1 with NL to CR/NL conversion Note: This function waits/blocks util the write can happen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>byte to write </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00382">382</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa018dc93fd77400560f0ab7e8d78f59a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uart_callback </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Uart interrupt callback function Process all receive and transmit events here. </p>
<p>=================================================================</p>
<p>/** </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*p</td><td>callback pointer - currently unused </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00604">604</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="afde4532b11b79411c904be3b2672c5e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void uart_config </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
          <td class="paramname"><em>baud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>data_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>stop_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>parity</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Uart configuration, baud rate, data and stop bits, parity. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">baud</td><td>baud </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_bits</td><td>number of data bits, 5 .. 8 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stop_bits</td><td>number of stop bits, ONE_STOP_BIT|TWO_STOP_BIT </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parity</td><td>parity, NO_PARITY,ODD_PARITY,EVEN_PARITY </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00714">714</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a735a90ff2c030a454e0e08d1cd4d79e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void uart_flush </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flush TX buffer Note: This function waits/blocks util the write happen. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00406">406</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a385bdf5aba0beedc8862cb7afff7fee7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LOCAL <a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart_getb </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a byte from a uart Note: This function waits/blocks util the read can happen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00304">304</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00337">uart_getc()</a>.</p>

</div>
</div>
<a class="anchor" id="adf42ba60e6a57087df07a521240569c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart_getc </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a byte from a uart with NL to CR/NL conversion Note: This function waits/blocks util the read can happen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>byte read </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00337">337</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00369">uart0_getc()</a>, and <a class="el" href="uart_8c_source.html#l00393">uart1_getc()</a>.</p>

</div>
</div>
<a class="anchor" id="a5afb95571d79d939651ef59768fde839"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void uart_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="uart_8h.html#a9aa1e56362027f49bfbe4378b8c889a4">UartBaudRate</a>&#160;</td>
          <td class="paramname"><em>uart0_br</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="uart_8h.html#a9aa1e56362027f49bfbe4378b8c889a4">UartBaudRate</a>&#160;</td>
          <td class="paramname"><em>uart1_br</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>initialize uart0 and uart1 Defaults: 8 = data bits, 1 = stop bits, no parity </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart0_br</td><td>baud rate for uart 0 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uart1_br</td><td>baud rate for uart 1 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00773">773</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="user__main_8c_source.html#l00971">setup()</a>.</p>

</div>
</div>
<a class="anchor" id="a5d37288e478d3aefe796f405d90e2c06"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LOCAL <a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart_putb </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Polled Blocking I/O functions that poll. </p>
<p>Write a byte to a uart Note: This function waits/blocks util the write can happen </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>byte to write </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00289">289</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00323">uart_putc()</a>.</p>

</div>
</div>
<a class="anchor" id="aad52b616aa1f07c5a59a5ddb6be602dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int uart_putc </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a byte from a uart with NL to CR/NL conversion Note: This function waits/blocks util the write can happen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00323">323</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="debug_8c_source.html#l00037">_uart0_fn()</a>, <a class="el" href="fatfs__tests_8c_source.html#l00313">fatfs_ls()</a>, <a class="el" href="uart_8c_source.html#l00358">uart0_putc()</a>, and <a class="el" href="uart_8c_source.html#l00382">uart1_putc()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2429f7cf15a9fba99f1c3d1d6499299"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void uart_reattach </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reinitialize uart0 and uart1 calls <a class="el" href="uart_8c.html#a5afb95571d79d939651ef59768fde839" title="initialize uart0 and uart1 Defaults: 8 = data bits, 1 = stop bits, no parity ">uart_init()</a> </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00822">822</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4c32ce5693fc8c1a40244b5cc82e796e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uart_rx_disable </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disable receive interrupts for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00062">62</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae08356fea716912edfef1013171b24ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uart_rx_enable </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable receive interrupts for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00052">52</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a83db8ea8db21280f74e2546414fc80f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void UART_SetPrintPort </td>
          <td>(</td>
          <td class="paramtype">uint8&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Install debug uart. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00682">682</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a87198ab19fb4f97a978baf08b478d150"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uart_tx_disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disable transmit interrupts for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00082">82</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9fee6d0362cbec0ae882acb55d3a825f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uart_tx_enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="send_8c.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>uart_no</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable transmit interrupts for a uart. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">uart_no</td><td>uart number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="uart_8c_source.html#l00072">72</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

<p>Referenced by <a class="el" href="uart_8c_source.html#l00199">tx_fifo_putb()</a>, <a class="el" href="uart_8c_source.html#l00237">tx_fifo_write()</a>, and <a class="el" href="uart_8c_source.html#l00406">uart_flush()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a08d467da958b2c20aaa794953255d152"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int uart_debug_port = 0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uart_8c_source.html#l00043">43</a> of file <a class="el" href="uart_8c_source.html">uart.c</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jan 31 2018 21:22:16 for ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
